package dletc.demo;

/**
 * 方法覆盖于异常的关系：
 * 		方法重写后不能比重写前的方法抛出更多的异常，可以更少，怎么理解？
 * 		一般情况下 方法重写都是方法体修改，不会动异常情况。
 */

public class demo10 {

	public void doSome(){
		
	}

	public void doTher() throws Exception{
		
	}
}

class Cat extends demo10{
	
	/*
	 * 错误：方法重写后不能比重写前的方法抛出更多的编译时异常，可以更少；运行时异常可以抛出。
	 * public void doSome() throws Exception{
		
	}*/
	
	//可以抛出运行时异常。
	public void doSome() throws RuntimeException{
		
	}
	
	/*不抛 编译正常。
	public void doTher() {
		
	}*/
	
	/*抛出也正常
	public void doTher() throws Exception{
		
	}*/
	
	//抛出的异常更少也可以 但不能抛出更多。
	public void doTher() throws RuntimeException{
		
	}
}
